package userservercontroller;
import java.rmi.RemoteException;
/**
 * Интерфейс для методов реализуемых клиентом.
 * @author TrueWar
 */
public interface ITaskmanagerClient
{
    /**
     * Добавление задачи.
     * В случае, если включена автоподача задач, очередная задача пойдет на
     * исполнение.
	 * @param authorizationKey ключ авторизации.
     * @param isCompil true - задача откомпилирована, false - не откомпилирована
     * @param sourcePath основной файл исходников
     * @param execPath путь до исполняемого файла
     * @param attachedPaths список прилагаемых к задаче файлов
     * @throws java.rmi.RemoteException ошибка сети
     */
    public void addTask( long authorizationKey, boolean isCompil,
		String	sourcePath,	String	execPath, String attachedPaths[])
		throws RemoteException;

    /**
     * Удаление задачи из системы.
     * Если задача активна, выполнение прекращается и задача удаляется.
     * @param authorizationKey ключ авторизации пользователя, который пытается удалить задачу.
	 * @param taskID id задачи для удаления.
     * @return true в случае успеха, false - задачи нет в системе или у
	 * пользователя нет прав для удаления задачи.
     */

    public boolean deleteTask(long authorizationKey, long taskID)
			 throws RemoteException;

    /**
     * Проверить наличие задачи в системе и соответствие задачи пльзователю.
     * @param authorizationKey ключ авторизации пользователя
	 * @param taskID id задачи для удаления.
     * @return true если задача присутствует в системе.
     */
    public boolean containsTask(long authorizationKey, long taskID)
			 throws RemoteException;
}
